home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
kermit.columbia.edu
/
kermit.columbia.edu.tar
/
kermit.columbia.edu
/
newsgroups
/
misc.20031118-20041115
/
000277_thucdat@hotmail.com_Tue May 4 11:56:04 2004.msg
< prev
next >
Wrap
Internet Message Format
|
2004-11-14
|
3KB
Path: newsmaster.cc.columbia.edu!panix!news.maxwell.syr.edu!postnews1.google.com!not-for-mail
From: thucdat@hotmail.com (Dat Nguyen)
Newsgroups: comp.protocols.kermit.misc
Subject: The Unknown C-Kermit.
Date: 3 May 2004 15:02:34 -0700
Organization: http://groups.google.com
Lines: 45
Message-ID: <6b1f50ac.0405031402.31a93918@posting.google.com>
NNTP-Posting-Host: 24.118.27.71
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1083621754 10962 127.0.0.1 (3 May 2004 22:02:34 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Mon, 3 May 2004 22:02:34 +0000 (UTC)
Xref: newsmaster.cc.columbia.edu comp.protocols.kermit.misc:14996
If you are using C-Kermit to do some simple communication tasks
between two computers, you are under utilizing C-Kermit. Since the
release of version 8.0, C-Kermit is a versatile instrument that can be
used to do many things that you are unaware of.
Consider that Delphi and Visual Basic run only on Windows, Java won't
run on many platforms for years to come (i.e. Stratus VOS) and
Smalltalk exists only for a few OS. C-Kermit has been the "WRITE ONCE
RUN EVERYWHERE" since the 1980s.
Take one classic problem in operating system: the Dinning
Philosophers. The Dinning Philosophers problem can be stated as
follows:
"Five philosophers spend their lives thinking, eating, and sleeping.
The Philosophers sit around a table where there is a bowl of rice and
five chopsticks. Each philosopher compete for two chopsticks to eat."
To solve this problem, one needs supports from the running environment
like semaphore, timer, fork, multiprocessing, and concurrency.
C-Kermit does not provide all that, but you can create them and solve
the Dinning Philosophers problem in C-Kermit.
The whole thing is easier to do in OOP fashion where each philosopher
is presented by an object. These objects line up in a queue executed
in turn by a process object. Each philosopher object carries with
itself a softtimer that is timed when the object gets processed.
The philosopher objects compete for chopsticks which are binary
semaphore objects. The semaphores keep tracks of the philosophers
waiting for chopsticks to be available. Whenever the chopsticks are
released by eating philosopher objects, the semaphores send the
waiting philosopher objects to the process object queue.
This model of processing are applicable to a variety of complex
programming task where resources are competed, state of running
objects continously change. And since C-Kermit can communicate with
other computers, many useful administration tasks and communication
applications can be done comfortably.
For the solution of the Dinning Philosophers problem in C-Kermit, see:
http://www.columbia.edu/kermit/ckscripts.html#oops
Dat Nguyen